1. Field of the Invention
The present invention generally relates to video processing in a computer system, and more particularly, to a method and apparatus for producing a semi-transparent cursor image on a video display.
2. Discussion of the Related Art
A "sprite" or "cursor" is a well known visual device used in the field of computer graphics and video and data processing displays. The terms "sprite" and "cursor" are used interchangeably in the art and also herein. A cursor is used as a visual pointing device to select or pick items and options from amongst those displayed on the computer screen. In addition, the cursor may be used as the on-screen visual representation of the current point of an active drawing operation. In most cases, the cursor is in the shape of an arrow or pointing finger formed of solid colors that overlay and obscure the underlying display image.
In advanced palette DACs such as are known in the art, it is usual to find circuitry implementing a hardware cursor. Typical known circuitry consists of an on-board static RAM (SRAM), control logic, a small cursor color palette, and multiplexor means for selecting either a cursor color or the primary pixel color. The SRAM is used to store the pixel data that defines the shape of the cursor. Typically, the SRAM has a size of 1 K Byte, defining the cursor shape in a square field 64 pixels wide by 64 lines high using 2 bits for each cursor pixel. The 2 bits per pixel allows the definition of 4 different types of cursor pixel. Usually the 00 value is used to define a transparent cursor pixel. A transparent cursor pixel is a non-displayed pixel within the cursor field that allows the background primary pixel color to be displayed at that position on the display screen and within the cursor field. The other three values (01,10,11) are generally used to define the selection amongst three different colors stored in the cursor color palette. At locations within the cursor field with these values, the color selected from the cursor color palette is displayed in place of the primary pixel color at that position on the display screen and within the cursor field. The cursor color palette contains 24 bits defining the color of each of the three displayable cursor colors, with each color component (Red, Green, Blue) defined by 8 bits of data.
In the operation of such typical cursor circuitry, when the cursor control logic determines that the cursor should be displayed, it reads the cursor SRAM to obtain the 2 bits defining the cursor pixel at the displayed location. The three 8-bit color components for the cursor pixel, corresponding to the value read, are obtained from the cursor palette and provided to the alternate inputs of the multiplexors. If the cursor pixel datum does not have a 00 value, then the multiplexors select the cursor color which is applied to three output DACs that drive the display color. If the cursor pixel datum has a 00 value, then the multiplexors are forced to select the primary pixel color which is applied to the output DACs. When the cursor control logic determines that the cursor should not be displayed, the multiplexors select the primary pixel color which is applied to the three DACs.
In an alternative known method, the pixel data corresponding to the cursor is converted to the logical inverse of one primary color component of the image, that is, one of the red, green or blue image data components, rather than a color defined in the cursor palette.
The following reference illustrates the state of the pertinent art.
U.S. Pat. No. 5,270,688 to Dawson, et al., discloses a method for generating a cursor which contrasts with the background image.
With a conventional cursor such as is known in the art, solid colors pixels are used to replace the pixels of the underlying display image. The solid colors of the cursor therefore obstruct the user's view of vital on-screen information exactly at the point of interest where the selection or picking or active drawing operation is taking place. In many cases this provides a confusing, uncomfortable, undesirable, or inconvenient aspect and feel to the user interface and may therefore reduce user acceptance and productivity. The prior art does not provide a method for the clear and unobstructed simultaneous viewing of both the cursor and the underlying graphical information.
Thus, it is desirable to provide a method for the clear and unobstructed viewing access to both the cursor and the underlying graphical information in an unambiguous manner. At the on-screen location of the cursor, the user should be able to distinguish both the cursor and the underlying graphical data.